Código fuente de 'Ocurrencias de una cadena.asp'

<html>
<head>
<title>Ocurrencias de una cadena - Códigos asp, programacion asp, descargas asp, rutinas asp</title>
</head>
<p align="center"><b><font size="3">Ocurrencias de una cadena</font></b></p>

<body style="font-family: Arial; font-size: 11pt">
<% 'Código ASP
'InStr - devuelve la primera aparición de una subcadena dentro de otra
'InStr ([inicio, ]cadena1, cadena2 [,comparacion)

' - inicio (opcional) = posición dentro de la cadena para empezar a buscar
' - cadena1 = cadena en la que se busca
' - cadena2 = cadena que se busca en la primera
' - comparar = 0, comparación binaria; 1, comparación textual; 2, comparación basada en info de la base de datos

'Devuelve:
' 0 (cero), si cadena1 es de longitud 0 o si cadena2 no se encuentra o si inicio es mayor que la longitud de cadena1
' Null (""), si cadena1 es Null o si cadena2 es Null
' un número, que representa la posición de cadena2 dentro de cadena1 (del primer carácter de cadena2!)
'=============================================================================================================================
Dim sCadena, sBuscar, sEnviado

sCadena = Request.Form("Cadena1")
sBuscar = Request.Form("Cadena2")
sEnviado = Request.Form("Enviado")

if sEnviado <> "" then
	Response.Write ("<P>Se han encontrado: " & Ocurrencias(sCadena, sBuscar) & " ocurrencias de <FONT COLOR=#FF000>" & sBuscar & "</FONT><br>")
end if

Response.Write("<FORM METHOD=""post"" ACTION=""" & Request.ServerVariables("SCRIPT_NAME") & """>")
Response.Write("<INPUT TYPE=""hidden"" NAME=""Enviado"" VALUE=""Pozi"">")
Response.Write("<b>Texto: <br>")
Response.Write("<TEXTAREA NAME=""Cadena1"" ROWS=""5"" COLS=""20"">" & sCadena & "</TEXTAREA><BR>")
Response.Write("<b>Cadena a buscar: </b>")
Response.Write("<INPUT TYPE=""text"" NAME=""Cadena2"" SIZE=""30"" VALUE=""" & sBuscar & """><BR>" & vbcrlf)
Response.Write("<INPUT TYPE=""submit"" VALUE=""Buscar""></FORM>")

Function Ocurrencias ( cad1, cad2 )
Dim iNumOcurrencias, iPos

if cad1 = "" or cad2 = "" then
	iNumOcurrencias = 0
else

	'Empezamos en cero
	iNumOcurrencias = 0
	'Vamos a recorrer la cadena, comenzamos en la posición 1 
	iPos=1
	while InStr(iPos, cad1, cad2, 1)
		iNumOcurrencias = iNumOcurrencias + 1
		'Tenemos que pasar la palabra para seguir
		'así que sumamos la longitud de cad2 a la posición
		'donde hemos encontrado la cadena
		iPos = InStr(iPos, cad1, cad2, 1) + Len(cad2)
	wend
end if

'Devuelve el número
Ocurrencias = iNumOcurrencias	

End Function 'Ocurrencias


'Fin código ASP %>

<br>
</body>
</html>